package com.xhj.mybatis.mapping;

/**
 * SqlSource
 *
 * @author XJks
 * @description TODO:定义了生成 SQL 语句和参数映射的规范。它的主要作用是根据输入参数，生成最终要执行的 SQL 语句（以及参数信息），供 MyBatis 执行。不同的 SqlSource 实现，适用于不同类型的 SQL 构建场景。
 */
public interface SqlSource {

    /**
     * 根据传入的参数对象，生成包含 SQL 语句和参数信息的 BoundSql 对象。
     *
     * @param parameterObject 用户传入的参数对象，可能用于动态生成 SQL
     * @return BoundSql 返回包含最终 SQL 语句和参数映射的对象
     */
    BoundSql getBoundSql(Object parameterObject);
}
